import { App } from 'vue';
import {
  HeartOutlined,
  HistoryOutlined,
  FormOutlined,
  TableOutlined,
  AppstoreAddOutlined,
  UnorderedListOutlined,
  WarningOutlined,
  CheckCircleOutlined,
  HomeOutlined,
  TeamOutlined,
  UserSwitchOutlined,
  SaveOutlined,
  DiffOutlined,
  EditOutlined,
  DeleteOutlined,
  ReloadOutlined,
  ImportOutlined,
  ExportOutlined,
  UploadOutlined,
  DownloadOutlined,
  BankOutlined,
  DatabaseOutlined,
  StopOutlined,
  DeploymentUnitOutlined,
  ExperimentOutlined,
  AppstoreOutlined,
  ProjectOutlined,
  ProfileOutlined,
  CalendarOutlined,
  RetweetOutlined,
  SearchOutlined,
  DoubleRightOutlined,
  InboxOutlined,
  BorderOutlined,
  BlockOutlined,
  PlusOutlined,
  MinusOutlined,
  BorderInnerOutlined,
  PicRightOutlined,
  BuildOutlined,
  FileDoneOutlined,
  BarsOutlined,
  PartitionOutlined,
  FileExclamationOutlined,
  SnippetsOutlined,
  ClusterOutlined,
  AlignLeftOutlined,
  DoubleLeftOutlined,
  FunctionOutlined,
  DingtalkOutlined,
  IdcardOutlined,
  ApiOutlined,
  FileSearchOutlined,
  RotateLeftOutlined,
  SendOutlined,
  BarcodeOutlined,
  FileOutlined,
  ReconciliationOutlined,
  GroupOutlined,
  SelectOutlined,
  ScheduleOutlined,
  MediumWorkmarkOutlined,
  SortDescendingOutlined,
  HddOutlined,
  DashboardTwoTone,
  RollbackOutlined,
  FolderAddOutlined,
  RedoOutlined,
  PrinterOutlined,
  CalculatorOutlined,
  SettingOutlined,
  UsergroupAddOutlined,
  SwapOutlined,
  ArrowUpOutlined,
  DeleteColumnOutlined,
  EnterOutlined,
  FileImageOutlined,
  LogoutOutlined,
  StockOutlined,
  MenuFoldOutlined,
  BorderlessTableOutlined,
  MenuUnfoldOutlined,
  AreaChartOutlined,
  LineChartOutlined,
  FieldTimeOutlined,
  ApartmentOutlined,
  PieChartOutlined,
  ToolOutlined,
  ArrowDownOutlined,
  EyeOutlined,
  RiseOutlined,
  FallOutlined,
  RotateRightOutlined,
  FolderOutlined,
  MonitorOutlined,
  FileTextOutlined,
  SmileOutlined
} from '@ant-design/icons-vue';

export const useIcons = (app: App) => {
  app.component(HeartOutlined.displayName, HeartOutlined);
  app.component(HistoryOutlined.displayName, HistoryOutlined);
  app.component(FormOutlined.displayName, FormOutlined);
  app.component(TableOutlined.displayName, TableOutlined);
  app.component(AppstoreAddOutlined.displayName, AppstoreAddOutlined);
  app.component(UnorderedListOutlined.displayName, UnorderedListOutlined);
  app.component(WarningOutlined.displayName, WarningOutlined);
  app.component(CheckCircleOutlined.displayName, CheckCircleOutlined);
  app.component(HomeOutlined.displayName, HomeOutlined);
  app.component(TeamOutlined.displayName, TeamOutlined);
  app.component(UserSwitchOutlined.displayName, UserSwitchOutlined);
  app.component(SaveOutlined.displayName, SaveOutlined);
  app.component(DiffOutlined.displayName, DiffOutlined);
  app.component(EditOutlined.displayName, EditOutlined);
  app.component(DeleteOutlined.displayName, DeleteOutlined);
  app.component(ReloadOutlined.displayName, ReloadOutlined);
  app.component(ImportOutlined.displayName, ImportOutlined);
  app.component(ExportOutlined.displayName, ExportOutlined);
  app.component(UploadOutlined.displayName, UploadOutlined);
  app.component(DownloadOutlined.displayName, DownloadOutlined);
  app.component(BankOutlined.displayName, BankOutlined);
  app.component(DatabaseOutlined.displayName, DatabaseOutlined);
  app.component(StopOutlined.displayName, StopOutlined);
  app.component(DeploymentUnitOutlined.displayName, DeploymentUnitOutlined);
  app.component(ExperimentOutlined.displayName, ExperimentOutlined);
  app.component(AppstoreOutlined.displayName, AppstoreOutlined);
  app.component(ProjectOutlined.displayName, ProjectOutlined);
  app.component(ProfileOutlined.displayName, ProfileOutlined);
  app.component(CalendarOutlined.displayName, CalendarOutlined);
  app.component(RetweetOutlined.displayName, RetweetOutlined);
  app.component(SearchOutlined.displayName, SearchOutlined);
  app.component(DoubleRightOutlined.displayName, DoubleRightOutlined);
  app.component(InboxOutlined.displayName, InboxOutlined);
  app.component(BorderOutlined.displayName, BorderOutlined);
  app.component(BlockOutlined.displayName, BlockOutlined);
  app.component(PlusOutlined.displayName, PlusOutlined);
  app.component(MinusOutlined.displayName, MinusOutlined);
  app.component(BorderInnerOutlined.displayName, BorderInnerOutlined);
  app.component(PicRightOutlined.displayName, PicRightOutlined);
  app.component(BuildOutlined.displayName, BuildOutlined);
  app.component(FileDoneOutlined.displayName, FileDoneOutlined);
  app.component(BarsOutlined.displayName, BarsOutlined);
  app.component(PartitionOutlined.displayName, PartitionOutlined);
  app.component(FileExclamationOutlined.displayName, FileExclamationOutlined);
  app.component(SnippetsOutlined.displayName, SnippetsOutlined);
  app.component(ClusterOutlined.displayName, ClusterOutlined);
  app.component(AlignLeftOutlined.displayName, AlignLeftOutlined);
  app.component(DoubleLeftOutlined.displayName, DoubleLeftOutlined);
  app.component(FunctionOutlined.displayName, FunctionOutlined);
  app.component(DingtalkOutlined.displayName, DingtalkOutlined);
  app.component(IdcardOutlined.displayName, IdcardOutlined);
  app.component(ApiOutlined.displayName, ApiOutlined);
  app.component(FileSearchOutlined.displayName, FileSearchOutlined);
  app.component(RotateLeftOutlined.displayName, RotateLeftOutlined);
  app.component(SendOutlined.displayName, SendOutlined);
  app.component(BarcodeOutlined.displayName, BarcodeOutlined);
  app.component(FileOutlined.displayName, FileOutlined);
  app.component(ReconciliationOutlined.displayName, ReconciliationOutlined);
  app.component(GroupOutlined.displayName, GroupOutlined);
  app.component(SelectOutlined.displayName, SelectOutlined);
  app.component(ScheduleOutlined.displayName, ScheduleOutlined);
  app.component(MediumWorkmarkOutlined.displayName, MediumWorkmarkOutlined);
  app.component(SortDescendingOutlined.displayName, SortDescendingOutlined);
  app.component(HddOutlined.displayName, HddOutlined);
  app.component(DashboardTwoTone.displayName, DashboardTwoTone);
  app.component(RollbackOutlined.displayName, RollbackOutlined);
  app.component(FolderAddOutlined.displayName, FolderAddOutlined);
  app.component(RedoOutlined.displayName, RedoOutlined);
  app.component(PrinterOutlined.displayName, PrinterOutlined);
  app.component(CalculatorOutlined.displayName, CalculatorOutlined);
  app.component(SettingOutlined.displayName, SettingOutlined);
  app.component(UsergroupAddOutlined.displayName, UsergroupAddOutlined);
  app.component(SwapOutlined.displayName, SwapOutlined);
  app.component(ArrowUpOutlined.displayName, ArrowUpOutlined);
  app.component(DeleteColumnOutlined.displayName, DeleteColumnOutlined);
  app.component(EnterOutlined.displayName, EnterOutlined);
  app.component(FileImageOutlined.displayName, FileImageOutlined);
  app.component(LogoutOutlined.displayName, LogoutOutlined);
  app.component(StockOutlined.displayName, StockOutlined);
  app.component(MenuFoldOutlined.displayName, MenuFoldOutlined);
  app.component(BorderlessTableOutlined.displayName, BorderlessTableOutlined);
  app.component(MenuUnfoldOutlined.displayName, MenuUnfoldOutlined);
  app.component(AreaChartOutlined.displayName, AreaChartOutlined);
  app.component(LineChartOutlined.displayName, LineChartOutlined);
  app.component(FieldTimeOutlined.displayName, FieldTimeOutlined);
  app.component(ApartmentOutlined.displayName, ApartmentOutlined);
  app.component(PieChartOutlined.displayName, PieChartOutlined);
  app.component(ToolOutlined.displayName, ToolOutlined);
  app.component(ArrowDownOutlined.displayName, ArrowDownOutlined);
  app.component(EyeOutlined.displayName, EyeOutlined);
  app.component(RiseOutlined.displayName, RiseOutlined);
  app.component(FallOutlined.displayName, FallOutlined);
  app.component(RotateRightOutlined.displayName, RotateRightOutlined);
  app.component(FolderOutlined.displayName, FolderOutlined);
  app.component(MonitorOutlined.displayName, MonitorOutlined);
  app.component(FileTextOutlined.displayName, FileTextOutlined);
  app.component(SmileOutlined.displayName, SmileOutlined);
};
